<component-set>
  <components>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>module</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>netmodule</extension>
        <type>module</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>exe.config</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>exe.config</extension>
        <type>exe.config</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>library</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>library</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>winexe</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>exe</extension>
        <type>winexe</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>gac</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>gac</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>gac_generic</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>gac_generic</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>gac_msil</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>gac_msil</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>gac_32</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>gac_32</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>nar</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <type>nar</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>asp</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <type>asp</type>
      </configuration>
    </component>         
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>netplugin</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>netplugin</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>visual-studio-addin</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <extension>dll</extension>
        <type>visual-studio-addin</type>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>com_reference</role-hint>
      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <type>com_reference</type>
      </configuration>
    </component>
    <component>
      <role>npanday.artifact.ArtifactContext</role>
      <implementation>npanday.artifact.impl.ArtifactContextImpl</implementation>
      <requirements>
        <requirement>
          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
        </requirement>
        <requirement>
          <role>npanday.artifact.ArtifactInstaller</role>
        </requirement>
        <requirement>
          <role>npanday.registry.RepositoryRegistry</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
          <field-name>artifactHandlers</field-name>
        </requirement>
      </requirements>
    </component>
    <component>
      <role>npanday.artifact.ArtifactInstaller</role>
      <implementation>npanday.artifact.impl.ArtifactInstallerImpl</implementation>
      <requirements>
        <requirement>
          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
        </requirement>
        <requirement>
          <role>npanday.artifact.AssemblyResolver</role>
        </requirement>
        <requirement>
          <role>npanday.registry.RepositoryRegistry</role>
        </requirement>
        <requirement>
          <role>npanday.registry.DataAccessObjectRegistry</role>
        </requirement>        
      </requirements>
    </component>
    <component>
      <role>npanday.artifact.AssemblyResolver</role>
      <implementation>npanday.artifact.impl.AssemblyResolverImpl</implementation>
      <requirements>
        <requirement>
          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
        </requirement>
        <requirement>
          <role>npanday.registry.DataAccessObjectRegistry</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.manager.WagonManager</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
        </requirement>
      </requirements>
    </component>
    <component>
      <role>npanday.dao.ProjectDao</role>
      <implementation>npanday.dao.impl.ProjectDaoImpl</implementation>
      <requirements>
        <requirement>
          <role>org.apache.maven.artifact.manager.WagonManager</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
        </requirement>
        <requirement>
          <role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
        </requirement>
      </requirements>
    </component>    
  </components>
</component-set>
